#include "gtksettingsprivate.h"
#include "gtktogglebutton.h"
#include "gtkwidgetprivate.h"
+#include "gtkcssnodeprivate.h"
struct _GtkInspectorPropEditorPrivate
{
g_value_unset (&val);
}
+static void
+intern_string_modified (GtkEntry *entry, ObjectProperty *p)
+{
+ const gchar *s;
+
+ s = g_intern_string (gtk_entry_get_text (entry));
+ if (g_str_equal (p->spec->name, "id"))
+ gtk_css_node_set_id (GTK_CSS_NODE (p->obj), s);
+ else if (g_str_equal (p->spec->name, "name"))
+ gtk_css_node_set_name (GTK_CSS_NODE (p->obj), s);
+}
+
static void
string_changed (GObject *object, GParamSpec *pspec, gpointer data)
{
G_CALLBACK (string_changed),
prop_edit, G_OBJECT (prop_edit));
- connect_controller (G_OBJECT (prop_edit), "changed",
- object, spec, G_CALLBACK (string_modified));
+ if (GTK_IS_CSS_NODE (object))
+ connect_controller (G_OBJECT (prop_edit), "changed",
+ object, spec, G_CALLBACK (intern_string_modified));
+ else
+ connect_controller (G_OBJECT (prop_edit), "changed",
+ object, spec, G_CALLBACK (string_modified));
}
else if (type == G_TYPE_PARAM_BOOLEAN)
{